
package com.shanyin.framework.member;

import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.ComponentScan;

//@EnableDiscoveryClient 服务提供者端，加上@EnableDiscoveryClient注解，完成服务注册
@MapperScan(basePackages = "com.shanyin.framework.**.dao")
@ComponentScan(basePackages = {"com.shanyin.framework"})
@SpringBootApplication
@EnableDiscoveryClient
//@EnableEurekaClient
public class Application {

	/**
	 * 如果使用Eureka, 可以使用@EnableEurekaClient注解，但是推荐使用@EnableDiscoveryClient代替@EnableEurekaClient注解，
	 * 因为@EnableDiscoveryClient是一个高度的抽象， 来自于spring-cloud-commons， 由于Spring Cloud选型是中立的因此抽象出该接口， 
	 * 当服务注册中心选型改变为Eureka，ZK，Consul时，不需要修改原有代码中的注解。
	 * */
	
	static Logger logger =LoggerFactory.getLogger(Application.class);
	/**
	 * 在Spring Boot的入口函数处，通过添加@EnableDiscoveryClient注解来激活Eureka中的DiscoveryClient实现
	 *  （因为我们在HelloController中注入了DiscoveryClient）
	 * */
	
	public static void main(String[] args) {
		logger.info("==========>客户端(服务提供者)-准备启动...");
		SpringApplication.run(Application.class, args); 
		logger.info("==========>客户端(服务提供者)-启动完毕...");
	}
	
}
